package com.dstz.org.core.dao;

import com.dstz.base.dao.BaseDao;
import com.dstz.org.core.model.User;
import org.apache.ibatis.annotations.Param;
import org.mybatis.spring.annotation.MapperScan;

import java.util.List;

/**
 * <pre>
 * 描述：用户表 DAO接口
 * </pre>
 */
@MapperScan
public interface UserDao extends BaseDao<String, User> {
    /**
     * 根据Account取定义对象。
     *
     * @param account
     * @return
     */
    User getByAccount(String account);

    /**
     * 判断用户是否存在。
     */
    Integer isUserExist(User user);


	List<User> getUserListByRelation(@Param("relationId")String relId, @Param("relationType")String type);
	
	List<User> getUserListByPost(@Param("roleId")String roleId, @Param("groupId")String groupId);
	
	/**
	 * <pre>
	 * 根据指定组织路径下的所有用户
	 * </pre>	
	 * @param path
	 * @return
	 */
	List<User> getUserListByGroupPath(@Param("path")String path);
	
}
